<test>
  <sql>SELECT	e1.FirstName,
		e2.LastName
FROM	Employees e1, Employees e2

EXCEPT

SELECT	e.FirstName,
		e.LastName
FROM	Employees e
WHERE	LEN(e.FirstName) &lt; 6

ORDER	BY 1, 2</sql>
  <expectedResults>
    <NewDataSet>
  <xs:schema id="NewDataSet" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
    <xs:element name="NewDataSet" msdata:IsDataSet="true" msdata:UseCurrentLocale="true">
      <xs:complexType>
        <xs:choice minOccurs="0" maxOccurs="unbounded">
          <xs:element name="Table1" msdata:Locale="en-US">
            <xs:complexType>
              <xs:sequence>
                <xs:element name="FirstName" type="xs:string" minOccurs="0" />
                <xs:element name="LastName" type="xs:string" minOccurs="0" />
              </xs:sequence>
            </xs:complexType>
          </xs:element>
        </xs:choice>
      </xs:complexType>
    </xs:element>
  </xs:schema>
  <Table1>
    <FirstName>Andrew</FirstName>
    <LastName>Buchanan</LastName>
  </Table1>
  <Table1>
    <FirstName>Andrew</FirstName>
    <LastName>Callahan</LastName>
  </Table1>
  <Table1>
    <FirstName>Andrew</FirstName>
    <LastName>Davolio</LastName>
  </Table1>
  <Table1>
    <FirstName>Andrew</FirstName>
    <LastName>Dodsworth</LastName>
  </Table1>
  <Table1>
    <FirstName>Andrew</FirstName>
    <LastName>Fuller</LastName>
  </Table1>
  <Table1>
    <FirstName>Andrew</FirstName>
    <LastName>King</LastName>
  </Table1>
  <Table1>
    <FirstName>Andrew</FirstName>
    <LastName>Leverling</LastName>
  </Table1>
  <Table1>
    <FirstName>Andrew</FirstName>
    <LastName>Peacock</LastName>
  </Table1>
  <Table1>
    <FirstName>Andrew</FirstName>
    <LastName>Suyama</LastName>
  </Table1>
  <Table1>
    <FirstName>Anne</FirstName>
    <LastName>Buchanan</LastName>
  </Table1>
  <Table1>
    <FirstName>Anne</FirstName>
    <LastName>Callahan</LastName>
  </Table1>
  <Table1>
    <FirstName>Anne</FirstName>
    <LastName>Davolio</LastName>
  </Table1>
  <Table1>
    <FirstName>Anne</FirstName>
    <LastName>Fuller</LastName>
  </Table1>
  <Table1>
    <FirstName>Anne</FirstName>
    <LastName>King</LastName>
  </Table1>
  <Table1>
    <FirstName>Anne</FirstName>
    <LastName>Leverling</LastName>
  </Table1>
  <Table1>
    <FirstName>Anne</FirstName>
    <LastName>Peacock</LastName>
  </Table1>
  <Table1>
    <FirstName>Anne</FirstName>
    <LastName>Suyama</LastName>
  </Table1>
  <Table1>
    <FirstName>Janet</FirstName>
    <LastName>Buchanan</LastName>
  </Table1>
  <Table1>
    <FirstName>Janet</FirstName>
    <LastName>Callahan</LastName>
  </Table1>
  <Table1>
    <FirstName>Janet</FirstName>
    <LastName>Davolio</LastName>
  </Table1>
  <Table1>
    <FirstName>Janet</FirstName>
    <LastName>Dodsworth</LastName>
  </Table1>
  <Table1>
    <FirstName>Janet</FirstName>
    <LastName>Fuller</LastName>
  </Table1>
  <Table1>
    <FirstName>Janet</FirstName>
    <LastName>King</LastName>
  </Table1>
  <Table1>
    <FirstName>Janet</FirstName>
    <LastName>Peacock</LastName>
  </Table1>
  <Table1>
    <FirstName>Janet</FirstName>
    <LastName>Suyama</LastName>
  </Table1>
  <Table1>
    <FirstName>Laura</FirstName>
    <LastName>Buchanan</LastName>
  </Table1>
  <Table1>
    <FirstName>Laura</FirstName>
    <LastName>Davolio</LastName>
  </Table1>
  <Table1>
    <FirstName>Laura</FirstName>
    <LastName>Dodsworth</LastName>
  </Table1>
  <Table1>
    <FirstName>Laura</FirstName>
    <LastName>Fuller</LastName>
  </Table1>
  <Table1>
    <FirstName>Laura</FirstName>
    <LastName>King</LastName>
  </Table1>
  <Table1>
    <FirstName>Laura</FirstName>
    <LastName>Leverling</LastName>
  </Table1>
  <Table1>
    <FirstName>Laura</FirstName>
    <LastName>Peacock</LastName>
  </Table1>
  <Table1>
    <FirstName>Laura</FirstName>
    <LastName>Suyama</LastName>
  </Table1>
  <Table1>
    <FirstName>Margaret</FirstName>
    <LastName>Buchanan</LastName>
  </Table1>
  <Table1>
    <FirstName>Margaret</FirstName>
    <LastName>Callahan</LastName>
  </Table1>
  <Table1>
    <FirstName>Margaret</FirstName>
    <LastName>Davolio</LastName>
  </Table1>
  <Table1>
    <FirstName>Margaret</FirstName>
    <LastName>Dodsworth</LastName>
  </Table1>
  <Table1>
    <FirstName>Margaret</FirstName>
    <LastName>Fuller</LastName>
  </Table1>
  <Table1>
    <FirstName>Margaret</FirstName>
    <LastName>King</LastName>
  </Table1>
  <Table1>
    <FirstName>Margaret</FirstName>
    <LastName>Leverling</LastName>
  </Table1>
  <Table1>
    <FirstName>Margaret</FirstName>
    <LastName>Peacock</LastName>
  </Table1>
  <Table1>
    <FirstName>Margaret</FirstName>
    <LastName>Suyama</LastName>
  </Table1>
  <Table1>
    <FirstName>Michael</FirstName>
    <LastName>Buchanan</LastName>
  </Table1>
  <Table1>
    <FirstName>Michael</FirstName>
    <LastName>Callahan</LastName>
  </Table1>
  <Table1>
    <FirstName>Michael</FirstName>
    <LastName>Davolio</LastName>
  </Table1>
  <Table1>
    <FirstName>Michael</FirstName>
    <LastName>Dodsworth</LastName>
  </Table1>
  <Table1>
    <FirstName>Michael</FirstName>
    <LastName>Fuller</LastName>
  </Table1>
  <Table1>
    <FirstName>Michael</FirstName>
    <LastName>King</LastName>
  </Table1>
  <Table1>
    <FirstName>Michael</FirstName>
    <LastName>Leverling</LastName>
  </Table1>
  <Table1>
    <FirstName>Michael</FirstName>
    <LastName>Peacock</LastName>
  </Table1>
  <Table1>
    <FirstName>Michael</FirstName>
    <LastName>Suyama</LastName>
  </Table1>
  <Table1>
    <FirstName>Nancy</FirstName>
    <LastName>Buchanan</LastName>
  </Table1>
  <Table1>
    <FirstName>Nancy</FirstName>
    <LastName>Callahan</LastName>
  </Table1>
  <Table1>
    <FirstName>Nancy</FirstName>
    <LastName>Dodsworth</LastName>
  </Table1>
  <Table1>
    <FirstName>Nancy</FirstName>
    <LastName>Fuller</LastName>
  </Table1>
  <Table1>
    <FirstName>Nancy</FirstName>
    <LastName>King</LastName>
  </Table1>
  <Table1>
    <FirstName>Nancy</FirstName>
    <LastName>Leverling</LastName>
  </Table1>
  <Table1>
    <FirstName>Nancy</FirstName>
    <LastName>Peacock</LastName>
  </Table1>
  <Table1>
    <FirstName>Nancy</FirstName>
    <LastName>Suyama</LastName>
  </Table1>
  <Table1>
    <FirstName>Robert</FirstName>
    <LastName>Buchanan</LastName>
  </Table1>
  <Table1>
    <FirstName>Robert</FirstName>
    <LastName>Callahan</LastName>
  </Table1>
  <Table1>
    <FirstName>Robert</FirstName>
    <LastName>Davolio</LastName>
  </Table1>
  <Table1>
    <FirstName>Robert</FirstName>
    <LastName>Dodsworth</LastName>
  </Table1>
  <Table1>
    <FirstName>Robert</FirstName>
    <LastName>Fuller</LastName>
  </Table1>
  <Table1>
    <FirstName>Robert</FirstName>
    <LastName>King</LastName>
  </Table1>
  <Table1>
    <FirstName>Robert</FirstName>
    <LastName>Leverling</LastName>
  </Table1>
  <Table1>
    <FirstName>Robert</FirstName>
    <LastName>Peacock</LastName>
  </Table1>
  <Table1>
    <FirstName>Robert</FirstName>
    <LastName>Suyama</LastName>
  </Table1>
  <Table1>
    <FirstName>Steven</FirstName>
    <LastName>Buchanan</LastName>
  </Table1>
  <Table1>
    <FirstName>Steven</FirstName>
    <LastName>Callahan</LastName>
  </Table1>
  <Table1>
    <FirstName>Steven</FirstName>
    <LastName>Davolio</LastName>
  </Table1>
  <Table1>
    <FirstName>Steven</FirstName>
    <LastName>Dodsworth</LastName>
  </Table1>
  <Table1>
    <FirstName>Steven</FirstName>
    <LastName>Fuller</LastName>
  </Table1>
  <Table1>
    <FirstName>Steven</FirstName>
    <LastName>King</LastName>
  </Table1>
  <Table1>
    <FirstName>Steven</FirstName>
    <LastName>Leverling</LastName>
  </Table1>
  <Table1>
    <FirstName>Steven</FirstName>
    <LastName>Peacock</LastName>
  </Table1>
  <Table1>
    <FirstName>Steven</FirstName>
    <LastName>Suyama</LastName>
  </Table1>
</NewDataSet>
  </expectedResults>
  <expectedPlan>
    <executionPlan>
      <element operator="Select">
        <properties>
          <property name="Output List.[0]" value="e1.FirstName AS FirstName" />
          <property name="Output List.[0].Table" value="e1" />
          <property name="Output List.[0].Column" value="FirstName" />
          <property name="Output List.[0].DataType" value="String" />
          <property name="Output List.[0].Output Name" value="FirstName" />
          <property name="Output List.[1]" value="e2.LastName AS LastName" />
          <property name="Output List.[1].Table" value="e2" />
          <property name="Output List.[1].Column" value="LastName" />
          <property name="Output List.[1].DataType" value="String" />
          <property name="Output List.[1].Output Name" value="LastName" />
        </properties>
        <input>
          <element operator="Sort">
            <properties>
              <property name="Output List.[0]" value="e2.LastName" />
              <property name="Output List.[0].Table" value="e2" />
              <property name="Output List.[0].Column" value="LastName" />
              <property name="Output List.[0].DataType" value="String" />
              <property name="Output List.[1]" value="e1.FirstName" />
              <property name="Output List.[1].Table" value="e1" />
              <property name="Output List.[1].Column" value="FirstName" />
              <property name="Output List.[1].DataType" value="String" />
              <property name="Statistics.Open Count" value="1" />
              <property name="Statistics.Row Count" value="77" />
              <property name="Statistics.Average Row Count" value="77" />
              <property name="Logical Operator" value="Sort" />
              <property name="Order By.[0]" value="e1.FirstName ASC" />
              <property name="Order By.[0].Table" value="e1" />
              <property name="Order By.[0].Column" value="FirstName" />
              <property name="Order By.[0].DataType" value="String" />
              <property name="Order By.[0].Order" value="ASC" />
              <property name="Order By.[1]" value="e2.LastName ASC" />
              <property name="Order By.[1].Table" value="e2" />
              <property name="Order By.[1].Column" value="LastName" />
              <property name="Order By.[1].DataType" value="String" />
              <property name="Order By.[1].Order" value="ASC" />
            </properties>
            <input>
              <element operator="NestedLoops">
                <properties>
                  <property name="Output List.[0]" value="e2.LastName" />
                  <property name="Output List.[0].Table" value="e2" />
                  <property name="Output List.[0].Column" value="LastName" />
                  <property name="Output List.[0].DataType" value="String" />
                  <property name="Output List.[1]" value="e1.FirstName" />
                  <property name="Output List.[1].Table" value="e1" />
                  <property name="Output List.[1].Column" value="FirstName" />
                  <property name="Output List.[1].DataType" value="String" />
                  <property name="Logical Operator" value="Left Anti Semi Join" />
                  <property name="Statistics.Open Count" value="1" />
                  <property name="Statistics.Row Count" value="77" />
                  <property name="Statistics.Average Row Count" value="77" />
                  <property name="Predicate" value="(e2.LastName = e.LastName OR e2.LastName IS NULL AND e.LastName IS NULL) AND (e1.FirstName = e.FirstName OR e1.FirstName IS NULL AND e.FirstName IS NULL)" />
                </properties>
                <input>
                  <element operator="Sort">
                    <properties>
                      <property name="Output List.[0]" value="e2.LastName" />
                      <property name="Output List.[0].Table" value="e2" />
                      <property name="Output List.[0].Column" value="LastName" />
                      <property name="Output List.[0].DataType" value="String" />
                      <property name="Output List.[1]" value="e1.FirstName" />
                      <property name="Output List.[1].Table" value="e1" />
                      <property name="Output List.[1].Column" value="FirstName" />
                      <property name="Output List.[1].DataType" value="String" />
                      <property name="Statistics.Open Count" value="1" />
                      <property name="Statistics.Row Count" value="81" />
                      <property name="Statistics.Average Row Count" value="81" />
                      <property name="Logical Operator" value="Distinct Sort" />
                      <property name="Order By.[0]" value="e1.FirstName ASC" />
                      <property name="Order By.[0].Table" value="e1" />
                      <property name="Order By.[0].Column" value="FirstName" />
                      <property name="Order By.[0].DataType" value="String" />
                      <property name="Order By.[0].Order" value="ASC" />
                      <property name="Order By.[1]" value="e2.LastName ASC" />
                      <property name="Order By.[1].Table" value="e2" />
                      <property name="Order By.[1].Column" value="LastName" />
                      <property name="Order By.[1].DataType" value="String" />
                      <property name="Order By.[1].Order" value="ASC" />
                    </properties>
                    <input>
                      <element operator="NestedLoops">
                        <properties>
                          <property name="Output List.[0]" value="e2.LastName" />
                          <property name="Output List.[0].Table" value="e2" />
                          <property name="Output List.[0].Column" value="LastName" />
                          <property name="Output List.[0].DataType" value="String" />
                          <property name="Output List.[1]" value="e1.FirstName" />
                          <property name="Output List.[1].Table" value="e1" />
                          <property name="Output List.[1].Column" value="FirstName" />
                          <property name="Output List.[1].DataType" value="String" />
                          <property name="Logical Operator" value="Inner Join" />
                          <property name="Statistics.Open Count" value="1" />
                          <property name="Statistics.Row Count" value="81" />
                          <property name="Statistics.Average Row Count" value="81" />
                          <property name="Warning" value="No join predicate" />
                        </properties>
                        <input>
                          <element operator="TableScan">
                            <properties>
                              <property name="Table" value="Employees AS e2" />
                              <property name="Output List.[0]" value="e2.LastName" />
                              <property name="Output List.[0].Table" value="e2" />
                              <property name="Output List.[0].Column" value="LastName" />
                              <property name="Output List.[0].DataType" value="String" />
                              <property name="Statistics.Open Count" value="1" />
                              <property name="Statistics.Row Count" value="9" />
                              <property name="Statistics.Average Row Count" value="9" />
                            </properties>
                            <input />
                          </element>
                          <element operator="TableScan">
                            <properties>
                              <property name="Table" value="Employees AS e1" />
                              <property name="Output List.[0]" value="e1.FirstName" />
                              <property name="Output List.[0].Table" value="e1" />
                              <property name="Output List.[0].Column" value="FirstName" />
                              <property name="Output List.[0].DataType" value="String" />
                              <property name="Statistics.Open Count" value="9" />
                              <property name="Statistics.Row Count" value="81" />
                              <property name="Statistics.Average Row Count" value="9" />
                            </properties>
                            <input />
                          </element>
                        </input>
                      </element>
                    </input>
                  </element>
                  <element operator="Filter">
                    <properties>
                      <property name="Output List.[0]" value="e.LastName" />
                      <property name="Output List.[0].Table" value="e" />
                      <property name="Output List.[0].Column" value="LastName" />
                      <property name="Output List.[0].DataType" value="String" />
                      <property name="Output List.[1]" value="e.FirstName" />
                      <property name="Output List.[1].Table" value="e" />
                      <property name="Output List.[1].Column" value="FirstName" />
                      <property name="Output List.[1].DataType" value="String" />
                      <property name="Statistics.Open Count" value="81" />
                      <property name="Statistics.Row Count" value="318" />
                      <property name="Statistics.Average Row Count" value="4" />
                      <property name="Predicate" value="LEN(e.FirstName) &lt; 6" />
                    </properties>
                    <input>
                      <element operator="TableScan">
                        <properties>
                          <property name="Table" value="Employees AS e" />
                          <property name="Output List.[0]" value="e.LastName" />
                          <property name="Output List.[0].Table" value="e" />
                          <property name="Output List.[0].Column" value="LastName" />
                          <property name="Output List.[0].DataType" value="String" />
                          <property name="Output List.[1]" value="e.FirstName" />
                          <property name="Output List.[1].Table" value="e" />
                          <property name="Output List.[1].Column" value="FirstName" />
                          <property name="Output List.[1].DataType" value="String" />
                          <property name="Statistics.Open Count" value="81" />
                          <property name="Statistics.Row Count" value="714" />
                          <property name="Statistics.Average Row Count" value="9" />
                        </properties>
                        <input />
                      </element>
                    </input>
                  </element>
                </input>
              </element>
            </input>
          </element>
        </input>
      </element>
    </executionPlan>
  </expectedPlan>
</test>